﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BatallaNavalgo
{
    public class MinaPorContacto: Disparo
    {
        private bool haImpactado; 

        public MinaPorContacto(int turno): base(turno)
        {
            this.costo = 150;
            this.haImpactado = false;
        }

        public override void PasarDeTurno()
        {
            if (this.haImpactado)
                this.turno--;
        }

        public override void Impactar(Lancha lancha, FragmentoDeNave fragmento)
        {
            fragmento.RecibirImpacto();
            this.haImpactado = true;
        }

        public override void Impactar(Destructor destructor, FragmentoDeNave fragmento)
        {
            fragmento.RecibirImpacto();
            this.haImpactado = true;
        }

        public override void Impactar(Buque buque, FragmentoDeNave fragmento)
        {
            FragmentoDeNave[] fragmentos = buque.Fragmentos;
            for (int i = 0; i < 4; i++)
                fragmentos[i].RecibirImpacto();
            this.haImpactado = true;
        }

        public override void Impactar(PortaAviones portaAviones, FragmentoDeNave fragmento)
        {
            fragmento.RecibirImpacto();
            this.haImpactado = true;
        }

        public override void Impactar(RompeHielos rompeHielos, FragmentoDeNave fragmento)
        {
            fragmento.RecibirImpacto();
            this.haImpactado = true;
        }
    }
}
